// pages/release_news/index.js
import http from '../../utils/api' // 引入api接口管理文件
import common from '../../utils/util' // 引入api接口管理文件

const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    imgsp:['图片', '视频'],
    uploaderList: [],
    image:[],
    uploaderNum:0,
    showUpload:true, // 是否显示上传
    video : '',
    video_url:'',
  },

  // 提交数据
  btn_fabiao:function(){
    // 提交动态数据
    let that = this.data;
    let image = that.image.join('|');  // 图片数组处理
    let param = {id:that.info.id,cate_id:that.cate_id || that.info.cate_id,title:that.title || that.info.title,content:that.content || that.info.content,image:image,video:that.video_url,type:that.type};
    http.news_update({  // 请求添加接口
      data:param,
      success:res=>{
        app.tip(res.info);
        setTimeout(function () {
          //要延时执行的代码
          wx.navigateTo({
            url: '../dynamic_details/index?news_id='+that.info.id,
          })
        }, 1500) //延迟时间
      },
      fail:err=>{
        console.log(err)
      }
    })
  },

  /**
   * 栏目改变
   * @param {*} e 
   */
  bindPickerChange: function(e) {
    let index =  e.detail.value;
    // 顶级栏目改变 赋值子板块数组
    this.setData({
      index: index,
      sub_lanmu: this.data.lanmu[index]['sub']
    })
  },
  
  /**
   * 子栏目改变
   * @param {*} e 
   */
  bindPickerSubChange: function(e) {
    let index =  e.detail.value;
    // 顶级栏目改变 赋值子板块数组
    this.setData({
      sub_index: index,
      cate_id: this.data.sub_lanmu[index]['id']
    })
  },

  upload_ts:function(e){
    this.setData({
      index: e.detail.value
    })
  },
  // 获取标题
  getTitle:function(e){
    this.setData({
      title:e.detail.value
    })
  },

  // 获取内容
  getContent:function(e){
    this.setData({
      content:e.detail.value
    })  },

  // 删除图片
  clearImg:function(e){
    var nowImage = [];
    var image = this.data.image; // 原图片真实路径
    for (let i = 0; i < image.length;i++){
        if (i == e.currentTarget.dataset.index){
            continue;
        }else{
            nowImage.push(image[i]);      
        }
    }
    this.setData({
        uploaderNum: this.data.uploaderNum - 1,
        image:nowImage, // 上传
        showUpload: true
    })
},
//展示图片
showImg:function(e){
    var that=this;
    wx.previewImage({
        urls: that.data.image,
        current: that.data.image[e.currentTarget.dataset.index]
    })
},

// 上传图片
upload:function(){
  var that=this
  let image = that.data.image; 
  if(image.length==0){
    wx.showActionSheet({
      itemList: ['视频','图片'],
      success (res) {
        if(res.tapIndex==0){
          that.chooseVideo()
        }else{
          that.chooseImage()
        }
      }
    })
  }else{ // 如果上传了图片就不显示 上传视频
    that.chooseImage()
  }
},
//上传图片
chooseImage() {
    var that = this;
    wx.chooseImage({
        count: 9 - that.data.uploaderNum, // 默认9
        sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
        sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
        success: function(res) {
            wx.showLoading({title: '正在上传...'}) // 开始上传显示遮罩层
            // 返回选定照片的本地文件路径列表，tempFilePath可以作为img标签的src属性显示图片
            let tempFilePaths = res.tempFilePaths;
            let uploaderList = that.data.uploaderList.concat(tempFilePaths);
            // 上传到服务器
            let imageArr = that.data.image;
            for(let i=0;i<uploaderList.length;i++){
              common.upload(uploaderList[i],function(res){
                if(res.statusCode==200){
                  imageArr.push(JSON.parse(res.data).url);
                  if(i+1 == uploaderList.length){
                    that.setData({
                      image:imageArr,
                      type:0,
                    })
                  }
                }else{
                  app.tip(res.errMsg);return false;
                }
              })
            }
            //  上传九张提示
            if (imageArr.length>=9){
                that.setData({
                    showUpload:false
                })
                app.tip('最多上传九张图片')
            }
            that.setData({
                // image: ["http://yxcs.majiangyun.com/upload/1d/23b6bfb3c8b57eabd74c15d5ac7bfb.jpg",
                // "http://yxcs.majiangyun.com/upload/1d/23b6bfb3c8b57eabd74c15d5ac7bfb.jpg",
                // "http://yxcs.majiangyun.com/upload/1d/23b6bfb3c8b57eabd74c15d5ac7bfb.jpg"], // 更新提交图片的值
                uploaderNum: imageArr.length,
                // image:imageArr
            })
            wx.hideLoading() // 上传成功关闭遮罩层
        }
    })
},

// 上传视频
chooseVideo() {
  let that = this;
    wx.chooseVideo({
      sourceType: ['album', 'camera'],
      compressed: true,
      maxDuration: 10,
      camera: 'back',
      success: res => {
        wx.showLoading({title: '正在上传...'}) // 开始上传显示遮罩层
        const video = res.tempFilePath;
        // 上传视频到服务器
        common.upload(video,function(res){
          if(res.statusCode==200){
            let video_url = JSON.parse(res.data).url;
            that.setData({
              video_url :video_url,
              type:1
            })
            wx.hideLoading() // 上传成功关闭遮罩层
          }else{
            app.tip(res.errMsg);return false;
          }
        })
        that.setData({
          video:video,
          showUpload:false
        })
      }
    })
},
// 删除视频
videoDelete(){
  wx.showModal({
    title: '警告',
    content: '确定要删除该视频吗',
    success: res => {
      if (res.confirm) {
        this.setData({
          video: '',
          video_url : '',
          "info.video":'',
          showUpload:true
        })
      }
    }
  })
},
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
      let that = this;
      let id = options.id; //文章id
      // 请求栏目板块
      http.getCate({
        data:{type:1}, // 根据账号类型返回不同栏目
        success:res=>{
          if(res.code == 1){ // 成功的情况
            that.setData({
              lanmu:res.data // 顶级分类
          })
          http.news_details({ // 文章详情
            data:{news_id:id},
            success:res=>{
              var count = that.data.lanmu.length;
              if(res.code == 1){ // 成功的情况
                for(let i=0;i<count;i++){
                  if(that.data.lanmu[i].id == res.data.cate_pid){
                      that.setData({
                        index:i
                      })
                  }
                  var sub_count = that.data.lanmu[i].sub.length; // 每个子栏目长度
                  for(let j=0;j<sub_count;j++){
                    if(that.data.lanmu[i].sub[j].id == res.data.cate_id){ // 子栏目赋默认值
                      that.setData({
                        sub_lanmu:that.data.lanmu[i].sub,
                        sub_index:j
                      })
                    }
                  }
                }
                // 如果有视频 不显示上传图标
                if(res.data.video!='' && res.data.video!=null){
                  that.setData({
                    video:res.data.video,
                    video_url:res.data.video,
                    showUpload:false,
                  })
                }
                that.setData({
                   info:res.data,
                  //  uploaderList:res.data.image, // 循环用
                   image:res.data.image, // 上传用
                   type:res.data.type
                })
              }else{
                app.tip(res.info);
              }
            },
            fail:err=>{
              console.log(err)
            }
          })
          }else{
            app.tip(res.info);
          }
        },
        fail:err=>{
          console.log(err)
        }
      })
      
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})